package com.haixiaoke.saas.repository.mapper;

import com.haixiaoke.saas.repository.pojo.ApartmentBill;
import com.haixiaoke.saas.repository.vo.ApartmentBillVo;

import java.util.List;

/**
 * 公寓账单Mapper接口
 *
 * @author qixi
 * @date 2023-06-16
 */
public interface ApartmentBillMapper {
    /**
     * 查询公寓账单
     *
     * @param billId 公寓账单主键
     * @return 公寓账单
     */
    ApartmentBill selectApartmentBillByBillId(String billId);

    /**
     * 查询公寓账单列表
     *
     * @param apartmentBill 公寓账单
     * @return 公寓账单集合
     */
    List<ApartmentBill> selectApartmentBillList(ApartmentBill apartmentBill);

    /**
     * 新增公寓账单
     *
     * @param apartmentBill 公寓账单
     * @return 结果
     */
    int insertApartmentBill(ApartmentBill apartmentBill);

    /**
     * 修改公寓账单
     *
     * @param apartmentBill 公寓账单
     * @return 结果
     */
    int updateApartmentBill(ApartmentBill apartmentBill);

    /**
     * 删除公寓账单
     *
     * @param billId 公寓账单主键
     * @return 结果
     */
    int deleteApartmentBillByBillId(String billId);

    /**
     * 批量删除公寓账单
     *
     * @param billIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteApartmentBillByBillIds(String[] billIds);

    List<ApartmentBill> selectApartmentBillByOrderId(String orderId);

    ApartmentBill selectApartmentBillByOrderIdOne(String orderId);

    List<ApartmentBillVo> selectApartmentBillVoList(ApartmentBill apartmentBill);

    ApartmentBillVo selectApartmentBillVoByBillId(String billId);

    int checkBillPayState(List<String> billIds);

    List<ApartmentBill> selectApartmentBillByBillIds(List<String> billIds);

}
